We introduce ScaffoldSketch
a system that makes it possible to draw accurate 3D models in VR
People like to draw in VR because it is immersive and the output is in 3D
but it's really hard to be accurate
Previous work has already proved this,
more degrees of freedom, lack of physical surface, and depth issue
these all contribute to larger errors directly drawing in VR
So how do people draw accurately in 2D?
product designers can draw very accurate sketches
when they draw with pen and paper
they will first draw construction lines or known as scaffolds
then they will draw the object shape on top
the scaffolds will serve as visual guidance to make the shape strokes accurate
this is how industrial designers can draw an accurate trash can
there are also related work studying or utilizing this scaffold plus shape way of sketching
Can we borrow this approach directly in VR?
Even with the help of scaffolds people still cannot draw accurately
the reason is similar as before
with more degrees of freedom it requires higher motion control
even the scaffolds are not perfectly aligned with each other
if we could eliminate these issues we would have a nice way to draw accurately in VR
We introduce ScaffolSketch a system helps people draw accurately in VR
by auto-correcting scaffolds and shape strokes
the scaffolds are straight lines with special relationships
so they can snap to each other based on the endpoints, directions, and lengths.
we also support tick on the scaffold lines to mark intermediate positions
as designers often do with pen and paper
here's an example the black lines are existing scaffolding lines
when the user draw a new scaffold line we can consider these relationships
however relationships may conflict with each other
previous attempts to resolve conflicts often use heuristics or don't satisfy any
we resolve with an iteratively re-weighed least square scheme
the weights will be updated after each iteration
the more satisfiable constraints will be giving higher weights
and the less satisfied will have smaller weights
in the end the weights will either be infinity or zero
that is satisfied or discard for the constraints
The shape strokes are smooth curves or lines attached to the scaffolds
mainly attached to the endpoints, midpoints, or the user marked positions.
and usually tangent to those points
for the same scaffold square different user input will be auto-correct to different results
the shape strokes are auto-correct based on the scaffolds and
the user's drawing
just like how the scaffolds support shape strokes in 2D
we also support space curves as shown here
and with more tick marks as intermediate positions the auto-correct result will also be different
once we have the beautified scaffolds, now if the user drawn a shape curve
we can find whether the curve is tangent to the intersections
thus we can have the curve directions and positions at those key points
the positions and directions are fixed
at those points
but we can change the magnitude of the tangents
different magnitudes of tangents will give us different curves
and our goal is to find the most smooth curve that is the one of minimal variation of curvature
and if the curve is not tangent to the scaffolds
we will take the directions from the original curve
here is an example of the input scaffolds and this is the auto-correct result
the shape strokes are based on the scaffolds and this corresponding auto-correct result
we did a remote user study with six participants: all industrial designers
they used our system in two conditions: within and without auto-correct
they all expressed that auto correct helped them draw more accurately
and they want to use ScaffoldSketch in the future
see the paper for details
limitations and future work, we didn't consider surfacing, which is also very important
the current output is curved networks, but surfaces are often needed
without surfacing it's hard to draw details or shading strokes
and also current shape strokes are guided by the scaffolds,
so the user cannot draw freeform strokes
I think with all these features combined it will make a better user experience
and more vivid 3D models
In conclusion, ScaffoldSketch enables
precise 3D curve drawing by decomposing or auto-correct into scaffold and shape stages
it lets people transfer industrial design drawing skills into 3D
and it resolves conflicting constraints with an iterative re-weighed scheme
thank you